home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1980-01-01 | 6.1 KB | 281 lines |
- 1 'WRITTEN BY ROMAN ORZOL ------- k2uyh/wa2tif
- 2 '
- 3 'THIS PROGRAM WILL CALCULATE THE RESISTORS NEEDED TO BIAS TRANSISTORS
- 4 ' IN ALL OF THE 3 DIFFERENT ARRANGEMENTS. IT ALSO WILL GIVE YOU THE
- 5 ' OPTION OF SAVING AND/OR HARD COPY OF THESE VALUES.
- 6 '
- 7 '<UNK! {0009}>DC-BIAS OF TRANSISTOR CIRCUITS<UNK! {0009}><UNK! {0009}>DESIGN AND ANALYSIS
- 8 '
- 9 '
- 10 PRINT
- 20 PRINT"WHICH CONFIGURATION ?"
- 30 PRINT:PRINT"INPUT -- CB --- FOR COMMON BASE"
- 40 PRINT" CE --- FOR COMMON EMITTER"
- 50 PRINT" CC --- FOR COMMON COLLECTOR or EMITTER FOLLOWER"
- 60 PRINT:INPUT W$
- 70 IF W$="CB" THEN 1210
- 80 IF W$="CE" THEN 110
- 90 IF W$="CC" THEN 830
- 95 IF W$="END" THEN END
- 100 GOTO 10
- 110 PRINT"INPUT -- UN --- FOR UNSTABILIZED"
- 120 PRINT" ES --- FOR EMITTER STABILIZED"
- 130 PRINT" US --- FOR UNIVERSAL STABILIZED"
- 140 PRINT" CF --- FOR COLLECTOR FEEDBACK"
- 150 PRINT:INPUT A$
- 160 IF A$="UN" THEN 210
- 170 IF A$="ES" THEN 230
- 180 IF A$="US" THEN 240
- 190 IF A$="CF" THEN 240
- 200 GOTO 110
- 210 G=0 : D=1
- 220 GOTO 240
- 230 D=1
- 240 PRINT"-- D -- FOR DESIGN or -- A -- FOR ANALYSIS"
- 250 PRINT:INPUT B$
- 260 IF B$="D" THEN 290
- 270 IF B$="A" THEN 560
- 280 GOTO 240
- 290 INPUT" Vcc ";CC
- 300 INPUT" Icq ";IC
- 310 INPUT" hFE ";BD
- 320 INPUT" Veb ";VD
- 330 IF A$="UN" THEN 370
- 340 INPUT"gamma ( .1 ) ";G
- 350 IF A$="ES" THEN 370
- 360 INPUT"delta ( 3 or 4 ) ";D
- 370 RC=CC/IC*(1-G)/2
- 380 IF A$="CF" THEN RC=RC*BD/(BD+D)
- 390 RE=G*CC/IC*BD/(BD+1)
- 400 R1=(CC*(1-G)-VD)*BD/(D*IC)
- 410 IF A$="CF" THEN R1=(CC*(1-G)-2*VD)/IC*BD/(2*D)
- 420 IF A$="UN" OR A$="ES" THEN 440
- 430 R2=BD*(G*CC+VD)/(IC*(D-1))
- 440 PRINT:PRINT"Rc =";RC
- 450 IF A$="UN" THEN 470
- 460 PRINT"Re =";RE
- 470 IF A$="UN" OR A$="ES" THEN PRINT"Rb =";R1: GOTO 510
- 480 IF A$="CF" THEN PRINT"Rf =";R1 : GOTO 500
- 490 PRINT"R1 =";R1
- 500 PRINT"R2 =";R2
- 510 PRINT
- 520 INPUT" SAVE THE VALUES ";S$
- 530 IF S$="Y" THEN GOSUB 1560
- 532 INPUT" Hard Copy ";P$
- 534 IF P$="Y" THEN GOSUB 10000
- 540 INPUT" CARE FOR AN ANALYSIS ";C$
- 545 IF C$="Y" THEN B$="A"
- 550 IF C$="Y" THEN 660 ELSE GOTO 10
- 560 INPUT" Vcc ";CC
- 570 INPUT" Veb ";VD
- 580 INPUT" hFE ";BD
- 590 INPUT" Rc ";RC
- 600 IF A$="UN" THEN 620
- 610 INPUT" Re ";RE
- 620 IF A$="UN" OR A$="ES" THEN INPUT" Rb ";R1: GOTO 660
- 630 IF A$="CF" THEN INPUT" Rf ";R1: GOTO 650
- 640 INPUT" R1 ";R1
- 650 INPUT" R2 ";R2
- 660 PRINT:IF A$="UN" THEN IB=(CC-VD)/R1
- 670 IF A$="ES" THEN IB=(CC-VD)/(R1+RE*(BD+1))
- 680 IF A$="US" THEN IB=(CC-VD*(1+R1/R2))/(R1+(BD+1)*RE*(1+R1/R2))
- 690 IF A$="CF" THEN IB=(CC-VD*(1+(R1+RC)/R2))/(R1+(BD+1)*(RC+RE*(1+(R1+RC)/R2)))
- 700 IC=BD*IB
- 710 IE=(BD+1)*IB
- 720 VC=IC*RC
- 730 VE=IE*RE
- 740 VT=CC-VC-VE
- 750 PRINT"Ib =";IB
- 760 PRINT"Ic =";IC
- 770 PRINT"Ie =";IE
- 780 PRINT"Vrc =";VC
- 790 IF A$="UN" THEN 802
- 800 PRINT"Vre =";VE
- 802 PRINT"Vec =";VT
- 805 PRINT
- 806 INPUT" SAVE THE VALUES ";S$
- 807 IF S$="Y" THEN GOSUB 1560
- 812 INPUT" Hard Copy ";P$
- 814 IF P$="Y" THEN GOSUB 10000
- 820 GOTO 10
- 830 PRINT"-- D -- FOR DESIGN or -- A -- FOR ANALYSIS"
- 840 PRINT:INPUT B$
- 850 IF B$="D" THEN 880
- 860 IF B$="A" THEN 1040
- 870 GOTO 830
- 880 INPUT" Vcc ";CC
- 890 INPUT" Icq ";IC
- 900 INPUT" hFE ";BD
- 910 INPUT" Veb ";VD
- 920 INPUT"delta ( 3 or 4 ) ";D
- 930 RE=CC/(2*IC)*BD/(BD+1)
- 940 R2=(CC+2*VD)/(2*IC)*BD/(D-1)
- 950 R1=(CC-2*VD)/(2*IC)*BD/D
- 960 PRINT:PRINT"Re =";RE
- 970 PRINT"R1 =";R1
- 980 PRINT"R2 =";R2
- 990 PRINT
- 1000 INPUT" SAVE THE VALUES ";S$
- 1010 IF S$="Y" THEN GOSUB 2000
- 1012 INPUT" Hard Copy ";P$
- 1014 IF P$="Y" THEN GOSUB 10000
- 1020 INPUT" CARE FOR AN ANALYSIS ";C$
- 1025 IF C$="Y" THEN B$="A"
- 1030 IF C$="Y" THEN 1100 ELSE GOTO 10
- 1040 INPUT" Vcc ";CC
- 1050 INPUT" Veb ";VD
- 1060 INPUT" hFE ";BD
- 1070 INPUT" Re ";RE
- 1080 INPUT" R1 ";R1
- 1090 INPUT" R2 ";R2
- 1100 IB=(CC-VD*(1+R1/R2))/(R1+(BD+1)*RE*(1+R1/R2))
- 1110 IC=BD*IB
- 1120 IE=(BD+1)*IB
- 1130 VE=IE*RE
- 1140 VT=CC-VC-VE
- 1150 PRINT:PRINT"Ib =";IB
- 1160 PRINT"Ic =";IC
- 1170 PRINT"Ie =";IE
- 1180 PRINT"Vre =";VE
- 1182 PRINT"Vec =";VT
- 1185 PRINT
- 1186 INPUT" SAVE THE VALUES ";S$
- 1187 IF S$="Y" THEN GOSUB 2000
- 1192 INPUT" Hard Copy ";P$
- 1194 IF P$="Y" THEN GOSUB 10000
- 1200 GOTO 10
- 1210 PRINT"-- D -- FOR DESIGN or -- A -- FOR ANALYSIS"
- 1220 PRINT:INPUT B$
- 1230 IF B$="D" THEN 1260
- 1240 IF B$="A" THEN 1400
- 1250 GOTO 1210
- 1260 INPUT" Vcc ";CC
- 1270 INPUT" Vee ";E1
- 1280 INPUT" Icq ";IC
- 1290 INPUT" hFE ";BD
- 1300 INPUT" Veb ";VD
- 1310 RC=CC/(2*IC)
- 1320 RE=(E1-VD)/IC*BD/(BD+1)
- 1330 PRINT:PRINT"Rc =";RC
- 1340 PRINT"Re =";RE
- 1350 PRINT
- 1360 INPUT" SAVE THE VALUES ";S$
- 1370 IF S$="Y" THEN GOSUB 2060
- 1372 INPUT" Hard Copy ";P$
- 1374 IF P$="Y" THEN GOSUB 10000
- 1380 INPUT" CARE FOR AN ANALYSIS ";C$
- 1385 IF C$="Y" THEN B$="A"
- 1390 IF C$="Y" THEN 1450 ELSE GOTO 10
- 1400 INPUT" Vcc ";CC
- 1410 INPUT" Vee ";E1
- 1420 INPUT" Veb ";VD
- 1430 INPUT" Rc ";RC
- 1440 INPUT" Re ";RE
- 1450 IC=CC/(2*RC)
- 1460 IE=(E1-VD)/RE
- 1470 IB=IE-IC
- 1480 VC=IC*RC
- 1490 VE=IE*RE
- 1500 PRINT:PRINT"Ib =";IB
- 1510 PRINT"Ic =";IC
- 1520 PRINT"Ie =";IE
- 1530 PRINT"Vrc =";VC
- 1532 PRINT"Vre =";VE
- 1535 PRINT
- 1536 INPUT" SAVE THE VALUES ";S$
- 1537 IF S$="Y" THEN GOSUB 2060
- 1542 INPUT" Hard Copy ";P$
- 1544 IF P$="Y" THEN GOSUB 10000
- 1550 GOTO 10
- 1560 OPEN #1,"R","COMMON-E.DAT",100
- 1570 PRINT #1 @1,W$,A$,B$
- 1571 PRINT #1 @2," Vcc =",CC
- 1572 PRINT #1 @3," Icq =",IC
- 1573 PRINT #1 @4," Veb =",VD
- 1574 PRINT #1 @5," hFE =",BD
- 1575 PRINT #1 @6,"gamma =",G
- 1576 PRINT #1 @7,"delta =",D
- 1580 PRINT #1 @8,RC
- 1590 PRINT #1 @9,RE
- 1600 PRINT #1 @10,R1
- 1610 PRINT #1 @11,R2
- 1620 CLOSE #1
- 1630 RETURN
- 2000 OPEN #1,"R","COMMON-C.DAT",100
- 2002 PRINT #1 @1,W$,B$
- 2004 PRINT #1 @2," Vcc =",CC
- 2006 PRINT #1 @3," Icq =",IC
- 2008 PRINT #1 @4," Veb =",VD
- 2010 PRINT #1 @5," hFE =",BD
- 2014 PRINT #1 @6,"delta =",D
- 2018 PRINT #1 @7,RE
- 2020 PRINT #1 @8,R1
- 2022 PRINT #1 @9,R2
- 2040 CLOSE #1
- 2050 RETURN
- 2060 OPEN #1,"R","COMMON-B.DAT",100
- 2062 PRINT #1 @1,W$,B$
- 2064 PRINT #1 @2," Vcc =",CC
- 2065 PRINT #1 @3," Vee =",E1
- 2066 PRINT #1 @4," Icq =",IC
- 2068 PRINT #1 @5," Veb =",VD
- 2070 PRINT #1 @6," hFE =",BD
- 2074 PRINT #1 @7,RC
- 2076 PRINT #1 @8,RE
- 2090 CLOSE #1
- 2100 RETURN
- 10000 PRINT
- 10008 INPUT"HIT RETURN WHEN READY ";Q$
- 10010 FOR I=1 TO 10
- 10030 NEXT
- 10032 IF W$="CB" THEN WW$="COMMON BASE"
- 10034 IF W$="CE" THEN WW$="COMMON EMITTER ":GOTO 10040
- 10036 IF W$="CC" THEN WW$="COMMON COLLECTOR or EMITTER FOLLOWER"
- 10038 AA$=" ":GOTO 10080
- 10040 IF A$="UN" THEN AA$="UNSTABILIZED"
- 10050 IF A$="ES" THEN AA$="EMITTER STABILIZED"
- 10060 IF A$="US" THEN AA$="UNIVERSAL STABILIZED"
- 10070 IF A$="CF" THEN AA$="COLLECTOR FEEDBACK"
- 10080 IF B$="D" THEN 10100
- 10090 IF B$="A" THEN 10290
- 10100 LPRINT,"DC DESIGN Results for a ";WW$;"[ ";AA$;" ]";" Amplifier ."
- 10110 LPRINT:LPRINT
- 10120 LPRINT," Vcc =";CC," Icq =";IC," Veb =";VD," hFE =";BD
- 10130 IF A$="UN" THEN 10170
- 10140 LPRINT,"gamma =";G
- 10150 IF A$="ES" THEN 10170
- 10160 LPRINT,"delta =";D
- 10170 LPRINT:LPRINT
- 10180 LPRINT," Rc =";RC
- 10190 IF A$="UN" THEN 10210
- 10200 LPRINT," Re =";RE
- 10210 IF A$="UN" OR A$="ES" THEN LPRINT," Rb =";R1:GOTO 10280
- 10220 IF A$="CF" THEN LPRINT," Rf =";R1:GOTO 10240
- 10230 LPRINT," R1 =";R1
- 10240 LPRINT," R2 =";R2
- 10280 RETURN
- 10290 LPRINT,"DC ANALYSIS Results for a ";WW$;"[ ";AA$;" ]";" Amplifier ."
- 10300 LPRINT:LPRINT
- 10310 LPRINT," Vcc =";CC," Icq =";IC," Veb =";VD," hFE =";BD
- 10320 IF A$="UN" THEN 10360
- 10330 LPRINT,"gamma =";G
- 10340 IF A$="ES" THEN 10360
- 10350 LPRINT,"delta =";D
- 10360 LPRINT
- 10370 LPRINT," Rc =";RC,
- 10380 IF A$="UN" THEN 10400
- 10390 LPRINT," Re =";RE,
- 10400 IF A$="UN" OR A$="ES" THEN LPRINT," Rb =";R1:GOTO 10440
- 10410 IF A$="CF" THEN LPRINT," Rf =";R1,:GOTO 10430
- 10420 LPRINT," R1 =";R1,
- 10430 LPRINT," R2 =";R2
- 10440 LPRINT:LPRINT
- 10450 LPRINT,"Ib =";IB
- 10460 LPRINT,"Ic =";IC
- 10470 LPRINT,"Ie =";IE
- 10480 LPRINT,"Vrc =";VC
- 10490 IF A$="UN" THEN 10510
- 10500 LPRINT,"Vre =";VE
- 10510 LPRINT,"Vec =";VT
- 10520 RETURN
-